package com.yesemate.splayer.view

import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import android.widget.HorizontalScrollView

class VideoRangeHorizontalScrollView: HorizontalScrollView {

    //是否拦截触摸事件
    var isIntercept = true;


    var onScrollChangedListener:OnScrollChangedListener?=null;
    constructor(context: Context):super(context){

    }

    constructor(context: Context,attrs: AttributeSet):super(context,attrs){

    }
    constructor(context: Context,attrs: AttributeSet,defStyleAttr: Int):super(context,attrs,defStyleAttr){

    }

    override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {
        return super.onInterceptTouchEvent(ev)
    }

    override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
        when(ev?.action!! and MotionEvent.ACTION_MASK){

            MotionEvent.ACTION_POINTER_DOWN->{
                //屏幕上已经有一个点按住 再按下一点时触发该事件
                isIntercept = false;
            }
            MotionEvent.ACTION_POINTER_UP->{
                //屏幕上已经有两个点按住 再松开一点时触发该事件
                isIntercept = true;
            }
            MotionEvent.ACTION_DOWN,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_UP->{

            }else ->{

            }
        }
//        VideoRangeView.isIntercept = !isIntercept;
//        if (!isIntercept){
//            return isIntercept;
//        }
        return super.dispatchTouchEvent(ev)
    }

    override fun onTouchEvent(ev: MotionEvent?): Boolean {
        when(ev?.action!! and MotionEvent.ACTION_MASK){

            MotionEvent.ACTION_POINTER_DOWN->{
                //屏幕上已经有一个点按住 再按下一点时触发该事件
                isIntercept = false;
            }
            MotionEvent.ACTION_POINTER_UP->{
                //屏幕上已经有两个点按住 再松开一点时触发该事件
                isIntercept = true;
            }
            MotionEvent.ACTION_DOWN,MotionEvent.ACTION_MOVE,MotionEvent.ACTION_UP->{

            }else ->{

        }
        }
        if (!isIntercept){
            return false;
        }
        return super.onTouchEvent(ev)
    }


    override fun onScrollChanged(l: Int, t: Int, oldl: Int, oldt: Int) {
        super.onScrollChanged(l, t, oldl, oldt)
        onScrollChangedListener?.onScrollChanged(l,t,oldl,oldt);
    }




    public interface OnScrollChangedListener{
        fun onScrollChanged(x:Int, y:Int, oldx: Int, oldy: Int);
    }
}